1. Field of the Invention
This disclosure is generally related to the design of computer systems that support object-based memory addressing. More specifically, this disclosure is related to identifying and accessing memory pages that are associated with paged memory objects.
2. Related Art
Virtual machines can be used to emulate different hardware environments on a computing device. For instance, a virtual machine can facilitate executing programs that have been compiled for a different instruction set architecture (ISA) than that of the computing device. Moreover, two or more virtual machines that emulate different hardware environments and/or operating systems may co-exist and simultaneously execute guest programs on the same computing device.
However, managing multiple address spaces for different simultaneously executing guest programs can be complex. For example, while translating and executing guest programs, a runtime environment on the computing device needs to ensure that each given load and store instruction accesses the correct address space with the correct privileges. For instance, different load instructions may need to access memory locations associated with guest applications, guest operating systems, and/or a virtual machine's private address space (which should be invisible to the guest application or guest operating system). Precisely emulating different ISAs requires that such memory accesses be handled correctly, which can involve substantial programming effort and overhead.
Hence, what is needed is a method that facilitates accessing memory without the above-described limitations of existing techniques.